There's still need for a lot more detail on this. But, from my (poor) understanding of USB, the task doesn't lie (only) on the USB device side. And, of course, this gets us back to the "firmware should be treated like software, not like hardware" argument.